• File: hub_webtrn_maintain_1.php
  • Full Path: ../x__saved/hub_webtrn_maintain_1.php
  • Date Modified: 30.04.25 07:56:06
  • File size: 80.84 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
//======================================================================================
//
// Function: Maintain  HUB_WEBTRN
//
// Programmer: AR
// Date      : 2024-07-19
//
// Copyright Reeft A/S (c) - 2024
//======================================================================================

// https://stackoverflow.com/questions/56062658/clicking-programmatically-on-the-arrows-of-html-inputs-type-number

//======================================================================================
// Get input
//======================================================================================

	if (isset($_REQUEST["webnam"])) {
		$input_WEBNAM = $_REQUEST["webnam"];
	} else {
		$input_WEBNAM = 'HUB_LOG';
	}
	
//======================================================================================
// Make line uppercase
//======================================================================================

//======================================================================================
// General config
//======================================================================================
	include "config/config.php";

//======================================================================================
// Check if user is logged in?
//======================================================================================
	include "login_check.php";

//======================================================================================
// Get session variables
//======================================================================================

	include "include/getsession.php";


	// include "include/uuid_create.php";
	// include "include/generate_password_md5.php";

//======================================================================================
// Set language
//======================================================================================

	include "include/set_language.php";

//======================================================================================
// Set defaults
//======================================================================================

	// $pk_reference  = $_SESSION['session_dft_pk_reference'];
	// $referenceCode = $_SESSION['session_dft_referencecode'];
	// $referenceName = $_SESSION['session_dft_referencename'];

//======================================================================================
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<title><?php echo $datahub_text0001 ?></title>

	<meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
	<meta name="description" content="REEFTvisual - Stoptime">
    <meta name="author" content="REEFT A/S">
    <link rel="icon" href="images/favicon/favicon.ico">

    <!-- Bootstrap / jQuery -->
    <link href="css/bootstrap4.3.1/css/bootstrap.custom.min.css" rel="stylesheet">
    <link href="css/bootstrap4.3.1/css/themes/bootstrap.custom.min.css" rel="stylesheet">

	<link href="css/bootstrap4.3.1/css/normalize.css" rel="stylesheet" type="text/css">

	<link href="css/sticky-footer.css" rel="stylesheet" type="text/css">

    <!-- Custom styles for this template -->
    <link href="css/custom.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">


	<script src="css/fontawesome6.5.1/js/all.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-light.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-regular.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-solid.min.js"></script>
	<script src="css/fontawesome6.5.1/js/sharp-thin.min.js"></script>
	

	<link href="css/bootstrap_animation/css/animate4/animate.css" rel="stylesheet" type="text/css">

	<!--<link href="javascript/chosen/chosen.css" rel="stylesheet" type="text/css">-->

	<link href="javascript/jquery-ui/jquery-ui.min.css" rel="stylesheet" type="text/css"/>

    <script src="javascript/jquery.js"></script>
    <script src="css/bootstrap4.3.1/js/popper.js"></script>
    <script src="css/bootstrap4.3.1/js/bootstrap.min.js"></script>

	<script src="javascript/jquery-ui/jquery-ui.min.js"></script>
    <script src="javascript/jquery.ui.touch-punch.min.js"></script>

	<link href="javascript/bgrins-spectrum/spectrum.css" rel="stylesheet" type="text/css">
	<script src="javascript/bgrins-spectrum/spectrum.js"></script>

	<script src="javascript/moment.min.js"></script>
	<script src="javascript/moment-with-locales.min.js"></script>
	<script src="javascript/moment-duration-format.min.js"></script>

	<script src="javascript/number_format/jquery.number.min.js"></script>

	<script src="javascript/jquery.scrollTo.min.js"></script>


	<link href="javascript/daatatables/media/css/jquery.dataTables.min.css" rel="stylesheet" type="text/css">
	<link href="javascript/daatatables/media/css/fixedHeader.dataTables.min.css" rel="stylesheet" type="text/css">
	<link href="javascript/daatatables/Buttons-1.4.2/css/buttons.dataTables.min.css" rel="stylesheet" type="text/css">

    <script src="javascript/daatatables/media/js/jquery.dataTables.min.js"></script>
    <script src="javascript/daatatables/media/js/dataTables.fixedHeader.min.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/dataTables.buttons.min.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/buttons.flash.min.js"></script>
	<script src="javascript/daatatables/JSZip-2.5.0/jszip.min.js"></script>
	<script src="javascript/daatatables/pdfmake-0.1.53/pdfmake.min.js"></script>
	<script src="javascript/daatatables/pdfmake-0.1.53/vfs_fonts.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/buttons.html5.min.js"></script>
	<script src="javascript/daatatables/Buttons-1.4.2/js/buttons.print.min.js"></script>

	<script src="javascript/chosen/chosen.jquery.min.js" type="text/javascript"></script>

	<script src="javascript/viewer-master/dist/viewer.min.js"></script>
	<link  href="javascript/viewer-master/dist/viewer.min.css" rel="stylesheet">

	<script src="javascript/ajaxq/ajaxq.js"></script>

	<link id="scrollUpTheme" rel="stylesheet" href="javascript/scrollup-master/dist/css/themes/image.css">
	<script src="javascript/scrollup-master/dist/jquery.scrollUp.js"></script>
	<script src="javascript/shortcut.js"></script>

	<script src="javascript/_reeft_js/set_font_awesome_icon_type.js"></script>
	<script src="javascript/_reeft_js/date_convert.js"></script>
<style>

.btn-custom-wide {
	height:60px;
	width:210px;
}

.modal-xxl {
    max-width: 80%;
}

.modal-xl {
    max-width: 50%;
}


.border-3 {
    border-width:3px !important;
}

td .hover-img {
  position:relative;
 }
td .hover-img span {
  position:absolute; left:-9999px; top:-9999px; z-index:9999;
 }
td:hover .hover-img span {
  top: 5px;
  left:0px;
 }

 .chosen-container-single {
    min-width: 100%;
}

</style>

<script language="JavaScript">

//=============================================================================
// Globals
//=============================================================================

    var myCurrentRow;
	var myGlobalRowData;
    var myGlobalTableData;
	
	var input_WEBNAM = '<?php echo $input_WEBNAM ?>';
	
	var global_debug = 'N';

	// Add allowed Y/N
	var GLOBAL_ADD_ALLOWED = 'N';

	// Delete allowed Y/N
	var GLOBAL_DELETE_ALLOWED = 'N';
	
	// sortMode
	var GLOBAL_SORTMODE = 'DESC';

	var jsonDataSave = {};

	var DFT_DATE_DISPLAY_FORMAT 	=  '<?php //echo $DFT_DATE_DISPLAY_FORMAT ?>';
	var DFT_LANGUAGE 				=  '<?php //echo $DFT_LANGUAGE ?>';

	var GLOBAL_TOTALPAGESSTOPVALUE	=  10;


	// Save field
	//var save_CFGNAM = '';


	$(function () {
	  $.scrollUp({
		scrollName: 'scrollUp', // Element ID
		//topDistance: '1800', // Distance from top before showing element (px)
		//topSpeed: 300, // Speed back to top (ms)
		scrollDistance: '300', // Distance from top before showing element (px)
		scrollSpeed: 300, // Speed back to top (ms)
		animation: 'fade', // Fade, slide, none
		animationInSpeed: 200, // Animation in speed (ms)
		animationOutSpeed: 200, // Animation out speed (ms)
		scrollText: false, //'Scroll to top', // Text for element
		activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF'
	  });
	});

//=============================================================================
// Get data - prompter
//=============================================================================
function getDataPrompter( input_WEBNAM, input_goto, input_button_number )
{


	if ( input_button_number != '' ) {
		$('#input-myCurrentPageCounter').val( input_button_number );
	}

	// Calculate offset
	var myPageGoTo 			= $('#input-myPageGoTo').val();
	var myTotalRecordsFound = $('#input-myTotalRecordsFound').val();
	var myTotalPages 		= $('#input-myTotalPages').val();
	var myPageSize 			= $('#input-myPageSize').val();


	if ( myPageSize == '' ) {
		myPageSize = '0';
	}

	let myOffSet = parseInt(myPageSize) * parseInt(input_goto);

	// Set offset
	$('#input-myPageGoTo').val( input_goto );
	$('#input-myOffSet').val( myOffSet );


	// Reset, show all
	if ( input_WEBNAM == '*RESET' ) {
		input_WEBNAM = '';
		$('#input-show-next-prodid').val('N');
		$('#input-search-line').val('');;
		$('#page-prev-button, #page-next-button').removeClass('d-none');
		$('#input-myBuildPageButtonsFirstTime').val('N');
		$('#input-search-arg' ).val( '' );
		setSortButton('DESC');
	}

	if ( input_WEBNAM != '' ) {
		$('#input-search-line').val( input_WEBNAM );
	}
	
	// Get some data
	getData();

}

//=============================================================================
// Get data
//=============================================================================
function getData()
{

	if ( global_debug == 'Y' ) {
		console.log("Start");
		console.time("answer time");
		console.timeLog("answer time");
	}
	
	
	$('#data-result').html('<?php echo $datahub_datatable_Processing ?>').addClass('text-center');

	// Get the current search line
	var input_search_arg = $('#input-search-arg').val();
	var input_timesort = $('#input-timesort').val();
	var input_WEBNAM = $('#input-WEBNAM').val();
	var input_fromdate = $('#input-fromdate').val();
	var input_fromtime = $('#input-fromtime').val();
	var input_todate = $('#input-todate').val();
	var input_totime = $('#input-totime').val();
	
	// Get page data
	myTotalRecordsFound 	= $('#input-myTotalRecordsFound').val();
	myTotalPages 			= $('#input-myTotalPages').val();
	myPageSize 				= $('#input-myPageSize').val();

	myPageGoTo 				= $('#input-myPageGoTo').val();
	myOffSet 				= $('#input-myOffSet').val();
	myCurrentPageCounter	= $('#input-myCurrentPageCounter').val();


	let myButtonOffSetNumber = myPageGoTo;

	if ( myButtonOffSetNumber <= 1 || myButtonOffSetNumber == '' ) {
		myButtonOffSetNumber = 1
		$('#page-prev-button').addClass('d-none');
	} else {
		//$('#page-prev-button').removeClass('d-none');
	}

	$('.pagination-badge-class').removeClass('badge-success').addClass('badge-dark');
	var selectButtonLineID = 'select-page-button-id-' + myButtonOffSetNumber;
	$('#' + selectButtonLineID).removeClass('badge-dark').addClass('badge-success');

	
	//var myPageSize = 500;
	//var myOffSet = 0;

	// Create param list
	parmData = 'timesort=' + input_timesort
			 + '&hub_webnam=' + input_WEBNAM
			 + '&myPageGoTo=' + myPageGoTo
			 + '&myOffSet=' + myOffSet
			 + '&myPageSize=' + myPageSize
			 + '&search_arg=' + input_search_arg
			 ;
	
	if (input_fromdate.trim() != '') 	parmData += '&fromdate=' + input_fromdate.trim();
	if (input_fromtime.trim() != '') {
		input_fromtime = input_fromtime.concat(":00");
		parmData += '&fromtime=' + input_fromtime;
	}
	
	if (input_todate.trim() != '') 	parmData += '&todate=' + input_todate.trim();
	if (input_totime.trim() != '') {
		input_totime = input_totime.trim().concat(":00");
		parmData += '&totime=' + input_totime;
	}
	

	$.ajax({
		url: "hub_webtrn_maintain_get.php",
		type: "GET",
		data: parmData,
		dataType: "json",
		cache: false,
	beforeSend: function( xhr ) {

	}
	})
	.done(function( jsonData ) {

				if ( global_debug == 'Y' ) {
					console.log("After RPG call");
					console.timeLog("answer time");
				}

				// Save jSon data
				jsonDataSave = jsonData;

				var returnCode 			= jsonData.header.returnCode;
				var returnMsg 			= jsonData.header.returnMsg;
				var entries_found 		= jsonData.header.entries_found;
				var response_sec 		= jsonData.header.response_sec;

				var myTotalRecordsFound = jsonData.header.myTotalRecordsFound;
				var myTotalPages 		= jsonData.header.myTotalPages;
				var myPageSize 			= jsonData.header.myPageSize;

				// Update input fields
				$('#input-myTotalRecordsFound').val(myTotalRecordsFound);
				$('#input-myTotalPages').val(myTotalPages);
				$('#input-myPageSize').val(myPageSize);

				// Init button line fields
				var HTMLlineButtons 		= '';
				var HTMLlineButtonsModal 	= '';
				var selectedButtonClass 	= 'btn-dark';

				// Create line buttons
				$.each( jsonData.header_buttons, function( index, object ){
					var buttonLine   = object.HUB_WEBNAM;
					var HUB_SERTYP	 = object.HUB_SERTYP;
					var buttonCount  = object.HUB_COUNT;
					var buttonPages  = object.buttonPages;

					if ( input_WEBNAM == buttonLine ) {
						selectedButtonClass = 'btn-success';
					} else {
						selectedButtonClass = 'btn-dark';
					}

					var selectButtonLineID 		= 'select-button-line-id-' + buttonLine;
					var selectButtonLineIDmodal = 'select-button-line-id-modal-' + buttonLine + '_' + HUB_SERTYP;

					HTMLlineButtons 		+=	'<button type="button" onclick="setWebserviceSearch(\'' + buttonLine + '\')" style="cursor:default" id="' + selectButtonLineID + '" class="btn ' + selectedButtonClass + ' select-button-line btn-sm mr-1 mb-1" onclick="firstPage(\'' + buttonLine + '\',\'' + '0' + '\',\'' + '' + '\',\'' + buttonPages + '\')">'
											+ 	buttonLine + ' (<b>' + buttonCount + '</b>)' + ' / ' + HUB_SERTYP
											+	'</button>'

					HTMLlineButtonsModal 	+=	'<button type="button" style="width:45px" id="' + selectButtonLineIDmodal + '" class="select-button-line-modal btn btn-primary btn-sm mr-1 mb-1" onclick="selectLineModal(\'' + buttonLine + '\')">'
											+ 	buttonLine + ' ' + HUB_SERTYP
											+	'</button>'

				});

				// Add "all button"
				// if (jsonData.header_buttons.length > 0) {
					// HTMLlineButtons 		+=	'<button type="button" id="' + 'all-button-location' + '" class="btn ' + 'btn-primary' + ' btn-sm mr-1 mb-1" onclick="getDataPrompter(\'' + '*RESET' + '\',\'' + '0' + '\',\'' + '' + '\',)">'
										// + 	'ALL'
										// +	'</button>'
				// }


				$('#data-result-button-lines').html(HTMLlineButtons);
				$('#data-result-button-lines-modal').html(HTMLlineButtonsModal);

				// Page x of xxxx
				$('#text-current-page').html( myPageGoTo );

				// Frist call - create pagination buttons
				if ( $('#input-myBuildPageButtonsFirstTime').val() == 'N' ) {
					createPaginationButtons()
					$('#input-myBuildPageButtonsFirstTime').val('Y');
					$('#select-page-button-id-1').removeClass('badge-dark').addClass('badge-success');
					$('#input-myPageGoTo').val( 1 );
					$('#input-myCurrentPageCounter').val( 1 );
					$('#page-prev-button').addClass('d-none');

					// Set info fields
					$('#text-current-page').html('1');
					$('#text-total-records-found').html(myTotalRecordsFound);
					$('#text-total-pages').html(myTotalPages);

				}


				// Hide "next page" if we are overdue
				if ( parseInt(myOffSet) > parseInt(myTotalRecordsFound) ) {
					$('#page-next-button').addClass('d-none');
				} else {
					$('#page-next-button').removeClass('d-none');
				}

					// If there are so few pages that there is not enough to build a page hide all
					if ( myTotalPages < GLOBAL_TOTALPAGESSTOPVALUE ) {
						$('#page-first-button').addClass('d-none');
						$('#page-last-button').addClass('d-none');
						$('#page-prev-button').addClass('d-none');
						$('#page-next-button').addClass('d-none');
					}



				// Show load time
				$('#load-time-from-database').html('entries found: ' + entries_found + ' (' + response_sec + ')');

				// Reset
				HTMLline02 = '<table id="REEFTvisual_data" class="table table-bordered table-striped table-hover">';

				HTMLline02 +=	'<thead>'
				           + 	'<tr class="bg-primary text-white font-weight-bold text-center">'
						   +	'<th class="text-left">'
						   +	'<?php echo $datahub_text0140 ?>'
						   +	'</th>'
						   +	'<th class="text-left">'
						   +	'<?php echo $datahub_text0117 ?>'
						   +	'</th>'
						   +	'<th class="text-left">'
						   +	'<?php echo $datahub_text0127 ?>'
						   +	'</th>'
						   +	'<th class="text-left">'
						   +	'<?php echo $datahub_text0141 ?>'
						   +	'</th>'
						   +	'<th class="text-left">'
						   +	'<?php echo $datahub_text0150 ?>'
						   +	'</th>'
						   +	'<th class="text-left">'
						   +	'<?php echo $datahub_text0128 ?>'
						   +	'</th>'
						   +	'<th class="text-left">'
						   +	'<?php echo $datahub_text0129 ?>'
						   +	'</th>'
						   +	'<th class="text-center">'
						   +	'<button id="add-button" title="Shortcut: Alt+F6" onclick="dataAdd(\'' + '0' + '\')" class="d-none btn btn-dark font-weight-bold">' + '<?php echo $datahub_button_save_01 ?>' + '</button>'
						   +	'</th>'
						   +	'<th class="text-center">'
						   +	''
						   +	'</th>'
						   +	'</tr>'
						   +	'</thead>'
						   +	'<tbody>'
						   ;

				$.each( jsonData.detail, function( index, object ){

					var WEBNAM 	= object.HUB_WEBNAM;
					var PACKNO	= object.HUB_PACKNO;
					var PRODID	= object.HUB_PRODID;
					var STRCAL	= object.HUB_STRCAL;
					var ENDCAL  = object.HUB_ENDCAL;
					var SECOND  = object.HUB_SECOND;
					var MSECND  = object.HUB_MSECND;
					var INPTXT  = object.HUB_INPTXT;
					var RPYCOD  = object.HUB_RPYCOD;
					var RPYTXT  = object.HUB_RPYTXT;
					var TIMSTP  = object.HUB_TIMSTP;
					var counter	  = object.counter;

					// Show record always
					var recordOK = 'Y';
					if ( recordOK == 'Y' )
					{

					// Format WZPID
					if ( PRODID != '' ) {
						PRODID_pretty = formatPRODID(PRODID);
					} else {
						PRODID_pretty = '-';
					}
					
					var edt_button_id = 'button-edt-' + counter;
					var dlt_button_id = 'button-dlt-' + counter;
					
					// Track button
					var button_ifs_track = '<button type="button" class="btn btn-primary btn-block" onclick="showIFStrack(\'' + PRODID +'\',\'' + PRODID_pretty +'\',\'' + TIMSTP +'\')" id="' + TIMSTP + '">' + PRODID_pretty + '</button>'

					HTMLline02 +=	'<tr>'
							   +	'<td class="text-left">'
							   +	WEBNAM
							   +	'</td>'
							   +	'<td class="text-left">'
							   +	TIMSTP
							   +	'</td>'
							   +	'<td class="text-left" style="max-width:350px">'
							   +    '<div class="text-truncate">' + INPTXT + '</div>'
							   +	'</td>'
							   +	'<td class="text-left">'
							   +    PACKNO
							   +	'</td>'
							   +	'<td class="text-left">'
							   +    '<span title="Prodid raw: ' + PRODID + '">' + button_ifs_track + '</span>'
							   +	'</td>'
							   +	'<td class="text-left">'
							   +    RPYCOD
							   +	'</td>'
							   +	'<td class="text-left">'
							   +    RPYTXT
							   +	'</td>'
								+	'<td>'
							   +	'<button id="' + edt_button_id + '" onclick="dataChange(\'' + counter + '\')" class="btn-block edit-btn btn btn-primary mr-1">' + '<?php echo $datahub_button_show_details_no_icon ?>' + '</button>'
							   +	'</td>'
							   +	'<td>'
							   +	'<button id="' + dlt_button_id + '" onclick="dataDeleteConfirm(\'' + counter + '\')" class="btn btn-danger">' + '<?php echo $datahub_button_delete ?>' + '</button>'
							   +	'</td>'

							   +	'</tr>'
							   ;

					}

				});


				HTMLline02  +=	'</tbody>'
				            +	'</table>'


				// Show yourself to the world, you little fvcker
				$('#data-result').html(HTMLline02);

				if ( global_debug == 'Y' ) {
					console.log("After processing json");
					console.timeLog("answer time");
				}

				// Datatables
				setDataTables();

				if ( global_debug == 'Y' ) {
					console.log("After datatables");
					console.timeLog("answer time");
				}

				// // Set click
				// table = new DataTable('#REEFTvisual_data');
				// $('#REEFTvisual_data').on('click', 'tr', function () {
					// myD = table.row(this).data();

					// console.log(myD);
				// });


				//-----------------------------------------------------------------------
				// Set font awesome icon type
				//-----------------------------------------------------------------------
					// Value is from config/config.php
					var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>';
					setFontAwesomeIconType( iconType );
				//-----------------------------------------------------------------------

				if ( global_debug == 'Y' ) {
					console.log("Done");
					console.timeEnd("answer time");
				}

				//-----------------------------------------------------------------------
				// Place cursor
				//-----------------------------------------------------------------------
					$('#input-search-arg').focus();

				//-----------------------------------------------------------------------
				// Is add allowed
				//-----------------------------------------------------------------------
					if ( GLOBAL_ADD_ALLOWED == 'Y' ) {
						$('#add-button').removeClass('d-none');
					} else {
						$('#add-button').addClass('d-none');
					}
				//-----------------------------------------------------------------------




	})
	.always(function( jsonData ) {

		//console.log('I am always..');


	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( xhr );

		$('#data-result').html( '<b>Error retreiving data from the server...</b>' );

	});

}

//=============================================================================
// Set datatables
//=============================================================================
function setDataTables()
{

	// Delete allowed?
	GLOBAL_DELETE_ALLOWED = 'N';

	if ( GLOBAL_DELETE_ALLOWED == 'Y' ) {
		var show_the_delete_button = true;
	} else {
		var show_the_delete_button = false;
	}
	
	var input_timesort = $('#input-timesort').val().toLowerCase();

    $('#REEFTvisual_data').DataTable({
        "responsive": true,
		"fixedHeader": true,
		"lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
		"iDisplayLength": 25,
        "processing": true,
		"dom": '',
		//"dom": 'lfi<bottom>Bp<"clear">',
        "order": [[ 0, input_timesort ]],
		"columnDefs": [
				{
				"targets": [ 4 ],
				"visible": true,
				"searchable": false,
				 "orderable": false
				},
				{
				"targets": [ 8 ],
				"visible": show_the_delete_button,
				"searchable": false,
				 "orderable": false
				}

		],
		"language":
		{

					"sProcessing":   "<?php echo $datahub_datatable_Processing ?>",
					"sLengthMenu":   "<?php echo $datahub_datatable_LengthMenu ?>",
					"sZeroRecords":  "<?php echo $datahub_datatable_ZeroRecords ?>",
					"sInfo":         "<?php echo $datahub_datatable_Info ?>",
					"sInfoEmpty":    "<?php echo $datahub_datatable_InfoEmpty ?>",
					"sInfoFiltered": "<?php echo $datahub_datatable_InfoFiltered ?>",
					"sInfoPostFix":  "<?php echo $datahub_datatable_InfoPostFix ?>",
					"sLoadingRecords": "<?php echo $datahub_datatable_Processing ?>",
					"sSearch":       "<?php echo $datahub_datatable_Search ?>",
					"sUrl":          "<?php echo $datahub_datatable_Url ?>",
					"oPaginate": {
						"sFirst":    "<?php echo $datahub_datatable_First ?>",
						"sPrevious": "<?php echo $datahub_datatable_Previous ?>",
						"sNext":     "<?php echo $datahub_datatable_Next ?>",
						"sLast":     "<?php echo $datahub_datatable_Last ?>"
					}
		},
        "rowCallback": function(row, data, index)
		{



		},
        "preDrawCallback": function(settings)
		{
		},
		"initComplete": function ()
		{
			
		},
		"buttons": 	[
					{
						extend: 'pdf',
						text: '<img src="images/pdf_logo.png" height="25"> PDF',
						orientation: 'landscape',
						title: 'Config - Data Export - PDF',
						exportOptions: {
						modifier: {
							page: 'all'
							}
						}
					},
					{
						extend: 'excel',
						text: '<img src="images/microsoft_excel_logo.png" height="25"> Excel',
						title: 'Config Data Export - Excel',
						},
						{
						extend: 'copy',
						text: '<img src="images/copy.png" height="25"> Copy to Clipboard',
						title: 'Config Data Export - Copy',
						},
					]
    });


	//=============================================================================
	// Setup the data to be able to update the table without reloading from the server
	//=============================================================================

		// Save the table in a global variable
		myGlobalTableData = $('#REEFTvisual_data').DataTable();

		// Handle click on "Edit" button
		$('#REEFTvisual_data tbody').on('click', '.edit-btn', function() {
			myCurrentRow 	= $(this).closest('tr');
			myGlobalRowData = myGlobalTableData.row(myCurrentRow).data();

			// Debug
			// console.log(myGlobalRowData);
			// console.log(myCurrentRow);

		});

	//=============================================================================


}

//=============================================================================
// Scroll page - Previous
//=============================================================================
function scrollPagePrev( input_action )
{

	// Calculate offset
	var myPageGoTo 			= $('#input-myPageGoTo').val();
	var myTotalRecordsFound = $('#input-myTotalRecordsFound').val();
	var myTotalPages 		= $('#input-myTotalPages').val();
	var myPageSize 			= $('#input-myPageSize').val();

	$('#input-saveMyDirection').val( input_action );

	var myCurrentPageCounter = $('#input-myCurrentPageCounter').val();
	myCurrentPageCounter = parseInt(myCurrentPageCounter) - 1 ;


	if (myCurrentPageCounter < 1 ) {
		myCurrentPageCounter = 0;
	}


	myPageGoTo = parseInt(myPageGoTo) - 1;


	if ( myPageGoTo <= 0 ) {
		myPageGoTo = 0;
	}

	//console.log('----->' + myCurrentPageCounter + ' ' + GLOBAL_TOTALPAGESSTOPVALUE);

	// Create button behind
	if ( myCurrentPageCounter == 0 ) {
		createPaginationButtons();
		$('#input-myCurrentPageCounter').val( GLOBAL_TOTALPAGESSTOPVALUE );
	} else {
		$('#input-myCurrentPageCounter').val( myCurrentPageCounter );
	}

	if ( myPageGoTo <= 1 ) {
		console.log('I am one....')
		$('#input-myCurrentPageCounter').val( 1 );
		$('#page-prev-button').addClass('d-none');
	}

	$('#input-myPageGoTo').val( myPageGoTo );


	// Get me some data
	getDataPrompter('',myPageGoTo,'');

}

//=============================================================================
// Scroll page - Next
//=============================================================================
function scrollPageNext( input_action )
{

	// Calculate offset
	var myPageGoTo 			= $('#input-myPageGoTo').val();
	var myTotalRecordsFound = $('#input-myTotalRecordsFound').val();
	var myTotalPages 		= $('#input-myTotalPages').val();
	var myPageSize 			= $('#input-myPageSize').val();

	$('#input-saveMyDirection').val( input_action );
	$('#page-prev-button').removeClass('d-none');


	// Next page
	var myCurrentPageCounter = $('#input-myCurrentPageCounter').val();
	myCurrentPageCounter = parseInt(myCurrentPageCounter) + 1 ;

	// Next page
	myPageGoTo = parseInt(myPageGoTo) + 1;


	if ( myPageGoTo >= myTotalPages ) {
		myPageGoTo = myTotalPages;
	}

	//console.log(myCurrentPageCounter + ' ' + GLOBAL_TOTALPAGESSTOPVALUE)

	// Create button ahead
	if ( myCurrentPageCounter > GLOBAL_TOTALPAGESSTOPVALUE ) {
		$('#input-saveMyCurrentPageCounter').val( myPageGoTo - 1 );
		myCurrentPageCounter = 1;
		createPaginationButtons();
	}

	// // Create button behind
	// if ( myCurrentPageCounter == 0 ) {
		// createPaginationButtons();
	// }

	$('#input-myCurrentPageCounter').val( myCurrentPageCounter );
	$('#input-myPageGoTo').val( myPageGoTo );


	// Get me some data
	getDataPrompter('',myPageGoTo,'');

}

//=============================================================================
// Create pagination buttons
//=============================================================================
function createPaginationButtons()
{

	// Skip IBM i pagination
	//return

	// Update input fields
	var myTotalRecordsFound = $('#input-myTotalRecordsFound').val();
	var myTotalPages 		= $('#input-myTotalPages').val();
	var myPageSize 			= $('#input-myPageSize').val();
	var myPageGoTo 			= $('#input-myPageGoTo').val();


	// Check if there is enought for at whole series of buttons?
	if ( myTotalPages > GLOBAL_TOTALPAGESSTOPVALUE ) {
		myLoop = GLOBAL_TOTALPAGESSTOPVALUE;
		//$('#page-prev-button, #page-next-button').removeClass('d-none');
	} else {
		//$('#page-prev-button, #page-next-button').addClass('d-none');
		myLoop = myTotalPages;
	}

	// Init button line fields
	var HTMLPaginationButtons 	= '';
	var selectedButtonClass 	= 'btn-dark';
	var	myNumber 				= myPageGoTo;
	var i_am_button_number		= 0;

	// Get last direction
	let myLastDirection = $('#input-saveMyDirection').val();

	if ( myLastDirection == '*PREV' ) {
		let myStartingNumber = $('#input-saveMyCurrentPageCounter').val();
		$('#input-myCurrentPageCounter').val(GLOBAL_TOTALPAGESSTOPVALUE);
		myNumber = myStartingNumber-GLOBAL_TOTALPAGESSTOPVALUE;
		if ( myNumber < 1 ) {
			myNumber = 0;
		}
		$('#input-saveMyCurrentPageCounter').val(myNumber);
	}


	for (let i = 0; i < myLoop; i++) {


		// Increase the number
		myNumber = parseInt(myNumber) + 1;

		i_am_button_number++;

		// if ( myNumber < GLOBAL_TOTALPAGESSTOPVALUE ) {
			// i_am_a_zero = '';
		// } else {
			// i_am_a_zero = '';
		// }

		// Add 0 in front of the number if lesser than 10
		// This is get a "calm" screen
		if ( myNumber < 10 ) {
			i_am_a_zero = '0';
		} else {
			i_am_a_zero = '';
		}

		var selectButtonLineID = 'select-page-button-id-' + myNumber;

		//console.log('myNumber: ' + myNumber + ' ' + myTotalPages + ' ' + selectButtonLineID);

		// Make sure we do not get page buttons beyond last page
		if ( parseInt(myNumber) <= myTotalPages ) {

			HTMLPaginationButtons 	+=	'<span type="button" data-button-number="' + i_am_button_number + '" class="badge badge-dark p-2 mr-1 mb-1 pagination-badge-class" style="cursor:default" id="' + selectButtonLineID + '"' + 'onclick="getDataPrompter(\'' + '' + '\',\'' + myNumber + '\',\'' + i_am_button_number + '\')">'
									+ 	i_am_a_zero + myNumber
									+	'</span>'

		}
	}

	// Create "first" button
	HTMLPaginationButtons 	+=	'<span type="button" id="page-first-button" class="badge badge-dark p-2 mr-1 mb-1" style="cursor:default" id="' + selectButtonLineID + '"' + 'onclick="firstPage(\'' + '' + '\',\'' + '0' + '\',\'' + '0' + '\')">'
							+ 	'<?php echo $datahub_text0080 ?>'
							+	'</span>'

	// Create "last" button
	HTMLPaginationButtons 	+=	'<span type="button" id="page-last-button" class="badge badge-dark p-2 mr-1 mb-1" style="cursor:default" id="' + selectButtonLineID + '"' + 'onclick="lastPage(\'' + '' + '\',\'' + myTotalPages + '\')">'
							+ 	'<?php echo $datahub_text0081 ?>'
							+	'</span>'


	// Show pagination buttons
	$('#data-result-pagination-button').html(HTMLPaginationButtons);


}

//=============================================================================
// Get data - search
//=============================================================================
function setWebserviceSearch( input_WEBNAM )
{
	

	// Save curreent webservice name
	$('#input-WEBNAM').val( input_WEBNAM );
	
	var selectButtonLineID 		= 'select-button-line-id-' + input_WEBNAM;	
	
	// Set clicked button
	$('.select-button-line').removeClass('btn-success').addClass('btn-dark');
	$('#' + selectButtonLineID).removeClass('btn-dark').addClass('btn-success');
	
	// Search
	$('#general-search-button').click();
	
}

//=============================================================================
// Get data - search
//=============================================================================
function searchPage( input_WEBNAM, input_goto, input_button_number, input_totalPages )
{

	if ( input_totalPages > 0 ) {
		$('#input-myTotalPages').val( input_totalPages );
	}

	$('#input-myBuildPageButtonsFirstTime').val('N');

	getDataPrompter( input_WEBNAM, input_goto, input_button_number)
	createPaginationButtons();
	$('#page-prev-button').addClass('d-none');
	$('#input-saveMyCurrentPageCounter').val( 1 );

}


//=============================================================================
// Get data - first page
//=============================================================================
function firstPage( input_WEBNAM, input_goto, input_button_number, input_totalPages )
{


	if ( input_totalPages > 0 ) {
		$('#input-myTotalPages').val( input_totalPages );
	}

	$('#input-myBuildPageButtonsFirstTime').val('N');

	getDataPrompter( input_WEBNAM, input_goto, input_button_number)
	createPaginationButtons();
	$('#page-prev-button').addClass('d-none');
	$('#input-saveMyCurrentPageCounter').val( 1 );

}

//=============================================================================
// Get data - last page
//=============================================================================
function lastPage( input_WEBNAM, input_goto, input_button_number, input_totalPages )
{

	var myTotalPages = $('#input-myTotalPages').val();

	var input_WEBNAM 		= '';
	var input_totalPages 	= myTotalPages;
	var input_goto 		 	= myTotalPages;

	//console.log('Last page: ' + input_goto + ' ' + GLOBAL_TOTALPAGESSTOPVALUE + ' ' + almostLastPage );

	$('#page-prev-button').removeClass('d-none');
	$('#page-next-button').addClass('d-none');

	var almostLastPage = parseInt(input_totalPages) - parseInt(GLOBAL_TOTALPAGESSTOPVALUE );

	input_WEBNAM = '';
	input_goto = almostLastPage;
	input_button_number = 1;

	$('#input-myCurrentPageCounter').val( GLOBAL_TOTALPAGESSTOPVALUE );
	$('#input-myPageGoTo').val( almostLastPage );
	$('#input-saveMyCurrentPageCounter').val( almostLastPage );
	$('#input-saveMyDirection').val('');

	// Mark last page
	createPaginationButtons();

	// Set some fields just in case...
	$('#select-page-button-id-' + myTotalPages ).addClass('badge-success').removeClass('badge-dark');
	$('#input-myCurrentPageCounter').val( GLOBAL_TOTALPAGESSTOPVALUE );
	$('#input-myPageGoTo').val( almostLastPage );
	$('#input-saveMyCurrentPageCounter').val( almostLastPage );

	// Get data
	$('#select-page-button-id-' + input_totalPages ).click();

	// Hide next button
	$('#page-next-button').addClass('d-none');

}

//=============================================================================
// Reason addd
//=============================================================================
function dataAdd ( input_pk_type )
{

			$('#input-mode').val('*add');


			$('#modal-input-ACTIVE').val('Y');		// Active
			$('#modal-input-CFGNAM').val('');		// DATA-HUB cfg name
			$('#modal-input-CFGTYP').val('');		// DATA-HUB cfg type
			$('#modal-input-CFGDSC').val('');		// Config description
			$('#modal-input-CFGVAL').val('');		// DATA-HUB cfg value
			$('#modal-input-CFGDAT').val('');		// Create date
			$('#modal-input-CFGTIM').val('');		// Create time

			// Reset save field(s)
			//save_CFGNAM = '';

			// Set active - default YES
			$('#button-deleted-yes').removeClass('btn-primary').addClass('btn-success');
			$('#button-deleted-no').removeClass('btn-success').addClass('btn-primary');

			// Reset modal message
			resetModalMessage();

			// Remove key fields readonly
			$('#modal-input-CFGNAM').removeAttr('readonly','readonly');
			$('#data-result-button-lines-modal').removeClass('d-none');

			// Show modal
			$('#trn_MaintainModal').modal('show');

			$('#trn_MaintainModal').on('shown.bs.modal', function () {
				//$('#modal-input-WZLIN').trigger('focus');
				$('#modal-input-CFGNAM').trigger('focus');
			})

}

//=============================================================================
// Reason change
//=============================================================================
function dataChange( input_counter )
{

	$('#input-mode').val('*update');

	// Find the correct data
	$.each( jsonDataSave.detail, function( index, object ){

		// Get the key		 
		var counter			= object.counter;

		// Data found
		if ( input_counter == counter )
		{

			
			// Save in fields
			var WEBNAM 	= object.HUB_WEBNAM;
			var PACKNO	= object.HUB_PACKNO;
			var PRODID	= object.HUB_PRODID;
			var STRCAL	= object.HUB_STRCAL;
			var ENDCAL  = object.HUB_ENDCAL;
			var SECOND  = object.HUB_SECOND;
			var MSECND  = object.HUB_MSECND;
			var INPTXT  = object.HUB_INPTXT;
			var RPYCOD  = object.HUB_RPYCOD;
			var RPYTXT  = object.HUB_RPYTXT;
			var TIMSTP  = object.HUB_TIMSTP;
			var counter	  = object.counter;



			// Move to input fields
			$('#modal-input-counter').val(counter);		// counter (used as id)
			$('#modal-input-HUB_TIMSTP').val(TIMSTP);	// timestamp
			$('#modal-input-HUB_PACKNO').val(PACKNO);	// Package no
			$('#modal-input-HUB_PRODID').val(PRODID);	// Prod id
			$('#modal-input-HUB_STRCAL').val(STRCAL);	// Start call
			$('#modal-input-HUB_ENDCAL').val(ENDCAL);	// End call	
			$('#modal-input-HUB_SECOND').val(SECOND);	// Call time sec
			$('#modal-input-HUB_MSECND').val(MSECND);	// Call time millisec
			$('#modal-input-HUB_INPTXT').val(INPTXT);	// Input text
			$('#modal-input-HUB_RPYCOD').val(RPYCOD);	// Reply code
			$('#modal-input-HUB_RPYTXT').val(RPYTXT);	// Reply text


			// Format PRODID
			//let WZPID_pretty = formatPRODID( WZPID );
			//$('#modal-input-WZPID-pretty').val(WZPID_pretty);



			// Save orginal name
			//save_CFGNAM = CFGNAM;


			// Make key fields readonly
			$('#modal-input-HUB_INPTXT').attr('readonly','readonly');
			$('#data-result-button-lines-modal').addClass('d-none');

			$('.read-only-class').attr('readonly','readonly');

		}

	})

	// Reset modal message
	resetModalMessage();

	// Show modal
	$('#trn_MaintainModal').modal('show');

	$('#trn_MaintainModal').on('shown.bs.modal', function () {
		//$('#modal-input-WZSEQ').trigger('focus');

		//myWZDON = myGlobalRowData[7];
		//setWZDON_button( myWZDON );

	})

}

//=============================================================================
// Delete confirm
//=============================================================================
function dataDeleteConfirm( input_CFGNAM )
{

	$('#input-mode').val('*delete');
	$('#confirm-delete-HUB_CFGNAM').val(input_CFGNAM);

	// Create confirm text
	$('#confirm-delete-text-CFGNAM').html(input_CFGNAM);

	// Find the correct data
	$.each( jsonDataSave.detail, function( index, object ){


		// Get the key
		var CFGNAM			= object.HUB_CFGNAM;

		// Data found
		if ( input_CFGNAM == CFGNAM )
		{

			$('#config_confirmDeleteModal').modal('show');

		}

	})

}

//=============================================================================
// Toggle Delete Reason
//=============================================================================
function toggleDelete()
{

			$('#icon-modal-input-active').removeClass('text-success text-danger');

			var active = $('#modal-input-active').val();

			// active?
			if ( active == 'Y' ) {
				$('#modal-input-active').val( 'N' );
				$('#icon-modal-input-active').html('<i class="far fa-2x fa-check-square"></i>').addClass('text-danger');
			} else {
				$('#modal-input-active').val( 'Y' );
				$('#icon-modal-input-active').html('<i class="far fa-2x fa-square"></i>');
			}

}

//=============================================================================
// Save
//=============================================================================
function dataSave()
{
	// Reset modal message
	resetModalMessage();


	// Check content of fields

	if ( $('#modal-input-CFGNAM').val() == '' ) {
		$('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0023 ?>' );
		$('#modal-save-button').addClass('disabled').prop("disabled", true);
		$('#modal-input-CFGNAM').focus();
		return false;
	}

	if ( $('#modal-input-CFGTYP').val() == '' ) {
		$('#modal-message').addClass('border-bottom').html( '<?php echo $datahub_error0023 ?>' );
		$('#modal-save-button').addClass('disabled').prop("disabled", true);
		$('#modal-input-CFGTYP').focus();
		return false;
	}

	if ( $('#modal-input-CFGDSC').val() == '' ) {
		$('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0019 ?>' );
		$('#modal-save-button').addClass('disabled').prop("disabled", true);
		$('#modal-input-CFGDSC').focus();
		return false;
	}

	if ( $('#modal-input-CFGVAL').val() == '' ) {
		$('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0019 ?>' );
		$('#modal-save-button').addClass('disabled').prop("disabled", true);
		$('#modal-input-CFGVAL').focus();
		return false;
	}

	var mode = $('#input-mode').val();

	//===============================================================================
	// Remove # if any
	//===============================================================================

		// Setup remove string
		let mySaveString;

		var myWorkField = $('#modal-input-CFGNAM').val();
		mySaveString = myWorkField;
		myWorkField = cleanInputString( myWorkField );
		$('#modal-input-CFGNAM').val( myWorkField );

		var myWorkField = $('#modal-input-CFGDSC').val();
		myWorkField = myWorkField.replace("#", "");
		$('#modal-input-CFGDSC').val( myWorkField );


	//===============================================================================
	
	// Make sure key does not have space and are in uppercase
	var myWorkField = $('#modal-input-CFGNAM').val();
	myWorkField = myWorkField.replace(" ", "_");
	myWorkField = myWorkField.toUpperCase();
	$('#modal-input-CFGNAM').val( myWorkField );
	
	var myWorkField = $('#modal-input-CFGTYP').val();
	myWorkField = myWorkField.toUpperCase();
	$('#modal-input-CFGTYP').val( myWorkField );
	
	// Check if date is correct formatted
	var dateCheck = $('#modal-input-CFGDAT').val();
	if (dateCheck == "0001-01-01" || dateCheck == "") {
		 $('#modal-input-CFGDAT').val( moment().format('YYYY-MM-DD') );
		 $('#modal-input-CFGTIM').val( moment().format('HH.mm.ss') );
	}

	// Make array and json
	var myData = $('#dataForm').find('input, select, textarea').serializeArray();
	var result = JSON.stringify(myData);

	// console.log(result);
	// console.log(myData);
	// return;

	var parmData = 'data=' + result
				 + '&mode=' + mode
				 ;

	$.ajax({
		url: "hub_config_maintain_save.php",
		type: "POST",
		data: parmData,
		dataType: "json",
		cache: false,
	})
	.done(function( jsonData ) {


		//=================================================================
		// START - Update the table without doing a server reload
		//=================================================================

        event.preventDefault();

		// Get some input data from the modal window
        // var modal_input_CFGNAM = $('#modal-input-CFGNAM').val();
        // var modal_input_CFGTYP = $('#modal-input-CFGTYP').val();
        // var modal_input_CFGDSC = $('#modal-input-CFGDSC').val();
        // var modal_input_CFGVAL = $('#modal-input-CFGVAL').val();

		// Debug
		// console.log(myGlobalRowData[5]);
		// console.log(myGlobalRowData[6]);
		// console.log(myCurrentRow);
		// console.log(myGlobalTableData);

		// Get the data for the "Change/Delete button", so we do not need to create it again
		
		// myChangeButtonData = myGlobalRowData[4];
		// myDeleteButtonData = myGlobalRowData[5];

		// Set the "look" for the fields to update
		//if ( modal_input_WZDON == 'Y' ) {
		//	var WZDON_text = '<div class="text-success font-weight-bold"><?php echo $datahub_YES ?></div>';
		//} else {
		//	var WZDON_text = '<div class="text-primary font-weight-bold"><?php echo $datahub_NO ?></div>';
		//}

		//==============================================
		// Use this if you want to update the whole row
		//==============================================
        // myGlobalTableData.row(myCurrentRow).data([	modal_input_CFGNAM,
		// 								modal_input_CFGTYP,
		// 								modal_input_CFGDSC,
		// 								modal_input_CFGVAL,
		// 								myChangeButtonData,
		// 								myDeleteButtonData
		// 								])
		// 								.draw(false)
		// 								;

		//=======================================================
		// Use this if you want to update one or more table cells
		//=======================================================
		//myGlobalTableData.cell(myCurrentRow, 4).data( WZDON_text )
		//myGlobalTableData.cell(myCurrentRow, 7).data( modal_input_WZDON )
		////table.cell(myCurrentRow, 1).data( myGlobalRowData[5] )
		//.draw(false);

		//=================================================================
		// END - Update the table without doing a server reload
		//=================================================================

		//=================================================================
		// Close the modal
		//=================================================================
		$('#trn_MaintainModal').modal('hide');

		//=================================================================
		// Remove this if you want to reload the table from the server
		//=================================================================
		//getDataPrompter('','0','');


	})
	.always(function( jsonData ) {

	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( thrownError );
		console.log( xhr );

	});

}

//=============================================================================
// Delete
//=============================================================================
function dataDeleteExec()
{
	// Reset modal message
	resetModalMessage();

	var mode = $('#input-mode').val();


	// Make array and json
	var myData = $('#dataForm-delete').find('input, select').serializeArray();
	var result = JSON.stringify(myData);

	// console.log(result);
	// console.log(myData);
	//return;

	var parmData = 'data=' + result
				 + '&mode=' + mode
				 ;

	$.ajax({
		url: "hub_config_maintain_save.php",
		type: "POST",
		data: parmData,
		dataType: "json",
		cache: false,
	})
	.done(function( jsonData ) {


		$('#config_confirmDeleteModal').modal('hide');
		getDataPrompter('','0','');

	})
	.always(function( jsonData ) {

	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( xhr );

	});

}

//=============================================================================
// Check if userid exists
//=============================================================================
function checkDataExists()
{

	var WZPID = $('#modal-input-WZPID').val();

	// If update, then the "orginal" code is ok
	if ( $('#input-mode').val() == '*update' ) {
		if ( WZPID == save_WZPID ) {
			return;
		}
	}

	var parmData = 'prdno=' + WZPID
				 ;

	$.ajax({
		url: "hub_wa0357_maintain_get.php",
		type: "GET",
		data: parmData,
		dataType: "json",
		cache: false,
	})
	.done(function( jsonData ) {

		var returnCode 		= jsonData.header.returnCode;
		var returnMsg 		= jsonData.header.returnMsg;
		var entries_found 	= jsonData.header.entries_found;


		if ( returnCode == '50') {
			$('#modal-message').addClass(' border-bottom').html( '<?php echo $datahub_error0080 ?>' );
			$('#modal-save-button').addClass('disabled').prop("disabled", true);
			$('#modal-input-WZPID').focus();
			$('#modal-input-WZSEQ').val( '' );
			return false;
		} else {
			DESCP = jsonData.detail[0].DESCP
			$('#modal-input-WZSEQ').val( DESCP );
		}

		// Reset modal message
		resetModalMessage();

	})
	.always(function( jsonData ) {

	})
	.fail(function( xhr, ajaxOptions, thrownError ) {
		console.log('I am failed..');
		console.log( xhr );

	});

}

//=============================================================================
// Set Sort Button (ASC/DESC)
//=============================================================================
function setSortButton( sortMode )
{

	if ( sortMode == 'ASC' ) {
		$('#button-sort-asc').removeClass('btn-primary').addClass('btn-success');
		$('#button-sort-desc').removeClass('btn-success').addClass('btn-primary');
	} else {
		$('#button-sort-asc').removeClass('btn-success').addClass('btn-primary');
		$('#button-sort-desc').removeClass('btn-primary').addClass('btn-success');
	}

	$('#input-timesort').val(sortMode);
}


//=============================================================================
// Set example data
//=============================================================================
function setExampleData( )
{

}

//=============================================================================
// Show deleted
//=============================================================================
function showDeleted()
{

	var show_deleted = $('#input-show-deleted').val();


	if ( show_deleted == 'Y' ) {
		$('#button-show-deleted').html('<?php echo $datahub_NO ?>');
		$('#input-show-deleted').val('N');
	} else {
		$('#button-show-deleted').html('<?php echo $datahub_YES ?>');
		$('#input-show-deleted').val('Y');
	}

	getDataPrompter('','0','');

}

//=============================================================================
// Log off
//=============================================================================
function signoff()
{

	window.location.href = "logout.php";

}

//=============================================================================
// Load page
//=============================================================================
function loadPage(url, p1, p2, p3)
{

	window.location.href = url;

}

//=============================================================================
// Reset modal message
//=============================================================================
function resetModalMessage() {

	// Reset
	//$('#modal-message').removeClass('p-2 font-weight-bold border border-danger rounded bg-light').html( '&nbsp;' );

	$('#modal-message').removeClass('border-bottom').html( '&nbsp;' );
	$('#modal-save-button').removeClass('disabled').prop("disabled", false);

}

//=============================================================================
// Set hidden input colors
//=============================================================================
function setInputColorsToHiddenControlFields( myID, myColor )
{
	if ( myID == 'modal-input-M1COL' ) {
		$('#input-current-text-color').val( myColor );
	}
}

//=============================================================================
// Clean input string
//=============================================================================
function cleanInputString( myWorkField )
{

	let charactersToRemove = '?#"\'';
	let myPattern = new RegExp('[' + charactersToRemove + ']', 'g');

	myWorkField = myWorkField.replace(myPattern,'');

	return myWorkField;

}

//=============================================================================
// Show MOA style example
//=============================================================================
function showMOAstyleExample()
{

	if ( $('#show-example-wrapper').hasClass('d-none') ) {
		$('#show-example-wrapper').removeClass('d-none');
		$('#button-moa-style-example').html('<?php echo $datahub_text0051 ?>')
	} else {
		$('#show-example-wrapper').addClass('d-none');
		$('#button-moa-style-example').html('<?php echo $datahub_text0050 ?>')
	}

}

//=============================================================================
// Show IFS track
//=============================================================================
function showIFStrack( pPRODID, pPRODID_pretty, pTIMSTP )
{
	
	
	alert(pPRODID + ' ' + pPRODID_pretty + ' ' +  pTIMSTP);
	

}

//=============================================================================
// Set RES2A button - Use full screen
//=============================================================================
function setRES2AButton( activeMode )
{

}

//=============================================================================
// Set RES1A button - Use full screen
//=============================================================================
function setRES1AButton( activeMode )
{

}

//=============================================================================
// Select line modal
//=============================================================================
function selectLineModal( inputLine )
{

	$('#modal-input-PRDNO').val( inputLine );

	var selectButtonLineID = 'select-button-line-id-modal-' + inputLine;

	$('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary');
	$('#' + selectButtonLineID).removeClass('btn-primary').addClass('btn-success');

	resetModalMessage();

}

//=============================================================================
// Reset line modal
//=============================================================================
function resetLineModal()
{

	resetModalMessage()

	let inputLine = $('#modal-input-PRDNO').val();

	if ( inputLine == '' ) {
		$('.select-button-line-modal').removeClass('btn-success').addClass('btn-primary');
	}

}

//=============================================================================
// Set action type
//=============================================================================
function setActionType( inputType )
{

	outputType = '';

	if ( inputType == '*PDF' ) {
		outputType = '1';
	}
	if ( inputType == '*PIC' ) {
		outputType = '2';
	}
	if ( inputType == '*SCAN' ) {
		outputType = '3';
	}
	if ( inputType == '*MOVIE' ) {
		outputType = '4';
	}
	if ( inputType == '*LINK' ) {
		outputType = '5';
	}
	if ( inputType == '*CHECK' ) {
		outputType = '6';
	}

	return outputType;

}

//=============================================================================
// Open previewer
//=============================================================================
function preViewElement( myElement )
{

	let h = $(window).height();
	let w = $(window).width();

	console.log('h: ' + h + ' -- ' + 'w: ' + w);

	h = h * 0.75;

	console.log('h: ' + h + ' -- ' + 'w: ' + w);


	// Create ID
	let myID = '#' + myElement;
	let myURL = $( myID ).val();
	let myIFRAME = '<iframe style="height:' + h + 'px;width:100%;" src=' + myURL +'></iframe>';


	// Set iframe
	$('#modal-preview-iframe').html( myIFRAME );

	// Show modal
	$('#wa0361_previewModal').modal('show');

}

//=============================================================================
// Format prodid
//=============================================================================
function formatPRODID( input_PRODID )
{

    // Ensure the input is a string
    let str = input_PRODID.toString();

    // Insert hyphens at specific positions
    let formattedStr = str.slice(0, 5) + '-' + str.slice(5, 15) + '-' + str.slice(15);

    return formattedStr;

}

//=============================================================================
// Set WZDON button
//=============================================================================
function setWZDON_button( activeMode )
{

	if ( activeMode == 'Y' ) {
		$('#button-WZDON-yes').removeClass('btn-primary').addClass('btn-success');
		$('#button-WZDON-no').removeClass('btn-success').addClass('btn-primary');
	} else {
		$('#button-WZDON-yes').removeClass('btn-success').addClass('btn-primary');
		$('#button-WZDON-no').removeClass('btn-primary').addClass('btn-success');
	}

	$('#modal-input-WZDON').val(activeMode );
}

//=============================================================================
// Full screen popup
//=============================================================================
function popUpFull( url, p1, p2, p3 )
{

	var winname = 'win_' + url;

	params  = 'width='+screen.width;
	params += ', height='+screen.height;
	params += ', top=0, left=0'
	params += ', fullscreen=yes';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;

}

//=============================================================================
// screen popup - center
//=============================================================================
function popUpCenter(url, p1, p2, p3)
{

	var v1_w  = screen.availWidth;
	var v1_h  = screen.availHeight;

	if ( parseInt(v1_w) > 1800 ) {
		v1_w = 1800;
		v1_h = v1_h - 200;
		v1_center = v1_w/0.8;
	}

	// Center popup as good as possible
	var left = (screen.width - v1_w) / 2;
	var top = (screen.height - v1_h) / 4;

	var winname = 'win_' + url;

	params  = 'width='+v1_w;
	params += ', height='+v1_h;
	params += ', top=' + top + ', left=' + left;
	params += ', fullscreen=yes';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;

}

//=============================================================================
// screen popup - center - bigger
//=============================================================================
function popUpCenterBig(url, p1, p2, p3)
{

	var v1_w  = screen.availWidth;
	var v1_h  = screen.availHeight;

	// Get 25%
	v1_w_pct = v1_w * 0.25;

	v1_w_new = v1_w - v1_w_pct;


	if ( v1_w_new < 1 ) {
		v1_w_new	= 1800;
	}

	v1_w = v1_w_new;
	v1_h = v1_h - 200;
	v1_center = v1_w/0.8;

	// Center popup as good as possible
	var left = (screen.width - v1_w) / 2;
	var top = (screen.height - v1_h) / 4;

	var winname = 'win_' + url;

	params  = 'width='+v1_w;
	params += ', height='+v1_h;
	params += ', top=' + top + ', left=' + left;
	params += ', fullscreen=yes';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;

}

//=============================================================================
// Popup top
//=============================================================================
function popUpTop(url, p1, p2, p3)
{

	var winname = 'win_' + url;

	w = 650;
	h = 750;

	params  = 'width='+w;
	params += ', height='+h;
	params += ', top=0, left=0'
	params += ', fullscreen=no';
	params += ',scrollbars=1';

	overview_win = window.open(url,winname, params);
	if (window.focus) {overview_win.focus()}
	return false;
}


//=============================================================================
// Set clock
//=============================================================================
function updateClock() {

	var currentTime = moment().format('YYYY-MM-DD HH:mm:ss');
	currentTime = REEFT_format_date( currentTime, DFT_DATE_DISPLAY_FORMAT )

	$('#current-time').html( currentTime );

}

//=============================================================================
// jQuery - Ready
//=============================================================================
$(document).ready(function()
{

	// Do not show deleted
	$('#input-show-deleted').val('Y');
	$('#input-myBuildPageButtonsFirstTime').val('N');
	$('#input-myPageGoTo').val( 1 );
	$('#input-myCurrentPageCounter').val( 0 );

	$('#page-prv-button').addClass('d-none');
	$('#page-next-button').addClass('d-none');
	
	// Set timesort fields
	if ( GLOBAL_SORTMODE == 'ASC' ) {
		setSortButton('ASC');
	} else {
		setSortButton('DESC');
	}
	
	// Set to input fields
	$('#input-WEBNAM').val( '<?php echo $input_WEBNAM ?>' );


	// Get data
	getDataPrompter('','0','');

	//-----------------------------------------------------------------------
	// Start the clock
	//-----------------------------------------------------------------------
		updateClock();
		setInterval(function() {
			updateClock();
		}, 1000); 
	//-----------------------------------------------------------------------

	//-----------------------------------------------------------------------
	// Set font awesome icon type
	//-----------------------------------------------------------------------
		// Value is from config/config.php
		var iconType = '<?php echo $DFT_SET_FONT_AWESOME_ICON_TYPE ?>';
		setFontAwesomeIconType( iconType );
	//-----------------------------------------------------------------------

	//-----------------------------------------------------------------------
	// Delay keyup checker
	//-----------------------------------------------------------------------
	var delay = (function () {
		var timer = 0;
		return function (callback, ms) {
			clearTimeout(timer);
			timer = setTimeout(callback, ms);
		};
	})()

	let $filter01 = $('#modal-input-WZPID');
	$filter01.on('keyup', function () {
		delay(function () {
			var inputValue = $('#modal-input-WZPID').val();
			if ( inputValue != '') {
			console.log('this will hit, once user has not typed for 1 second ' + inputValue );
				checkDataExists();
			}
		}, 0800);
	});



	//-----------------------------------------------------------------------
	// Set short cuts
	//-----------------------------------------------------------------------

	// If add d-none class, do not add shortcut
	if ( GLOBAL_ADD_ALLOWED == 'Y' ) {
		shortcut.add("Alt+F6",function() {
			$('#add-button').click();
		});
	}
	
	// Shift + Esc = close window
	shortcut.add("Shift+Esc",function() {
		$('#button-close-window').click();
	});
	
	//=========================================================================================================
	// Set color picker - TEXT
	//
	// Create HEX value (https://en.wikipedia.org/wiki/Web_colors)
	//	var hexValueColor = color.toHexString();
	//
	//	Create RGB (https://en.wikipedia.org/wiki/RGB_color_model)
	//		hexcolor = hexcolor.replace("#", "");
	//		var r = parseInt(hexcolor.substr(0,2),16);
	//		var g = parseInt(hexcolor.substr(2,2),16);
	//		var b = parseInt(hexcolor.substr(4,2),16);
	//		var yiq = ((r*299)+(g*587)+(b*114))/1000;
	//
	//
	//	Create YIQ (https://en.wikipedia.org/wiki/YIQ)
	//		if ( yiq >= 128) {
	//			var textColor = 'black';
	//		} else {
	//			var textColor = 'white';
	//		}
	//
	//	console.log('change: ' + hexcolor + ' ' + hexValueColor + ' ' + yiq + ' ' + r + ' ' + g + ' ' + b );
	//
	//=========================================================================================================
	$(".text-color-palette").spectrum({
		showInitial: true,
		showInput: true,
		chooseText: "Vælg farve",
		cancelText: "Annuller",
		preferredFormat: "hex",
		color: "#000",
		showPalette: true,
		flat: false,
		palette: [
			["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"],
			["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"],
			["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"],
			["#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#9fc5e8","#b4a7d6","#d5a6bd"],
			["#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6fa8dc","#8e7cc3","#c27ba0"],
			["#c00","#e69138","#f1c232","#6aa84f","#45818e","#3d85c6","#674ea7","#a64d79"],
			["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"],
			["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"]
		],
		// Called as the original input changes. Only happens when the input is closed or the 'Choose' button is clicked.
		change: function(color) {

			// Get hex color
			var hexValueColor = color.toHexString();

			setInputColorsToHiddenControlFields( this.id, hexValueColor  );
			setExampleData();

		},
		move: function(color) {

			// Get hex color
			var hexValueColor = color.toHexString();

			setInputColorsToHiddenControlFields( this.id, hexValueColor  );
			setExampleData();

		},
		show: function(color) {

			$('#input-current-color-picker').val( this.id );

			// Get hex color
			var hexValueColor = color.toHexString();

			setInputColorsToHiddenControlFields( this.id, hexValueColor  );
			setExampleData();

		},
		hide: function(color) {

			// Get hex color
			var hexValueColor = color.toHexString();

			setInputColorsToHiddenControlFields( this.id, hexValueColor  );
			setExampleData();

		}
	});


	// Make sure scroll is active when closeing the previevwer
	$('#wa0361_previewModal').on("hidden.bs.modal", function (e) { //fire on closing modal box

        if ($('.modal:visible').length) { // check whether parent modal is opend after child modal close

            $('body').addClass('modal-open'); // if open mean length is 1 then add a bootstrap css class to body of the page

			// Remove iframe data...
			$('#modal-preview-iframe').html('');

        }
    });


});
// -->
</script>

</head>

<body>

<div class="container-fluid mt-2 pl-3 pr-3">

		<input type="text" class="Xd-none" id="input-WEBNAM">
		
		<input type="text" class="d-none" id="input-mode" >
		<input type="text" class="d-none" id="input-show-deleted" >
		<input type="text" class="d-noneX" id="input-search-line">
		<input type="text" class="d-noneX" id="input-filter-line">
		<input type="text" class="d-none" id="input-show-next-prodid">
		


		<input type="text" class="d-none" id="input-myPageGoTo">
		<input type="text" class="d-none" id="input-myCurrentPageCounter">
		<input type="text" class="d-none" id="input-saveMyCurrentPageCounter">
		<input type="text" class="d-none" id="input-saveMyDirection">
		<input type="text" class="d-none" id="input-myOffSet">
		<input type="text" class="d-none" id="input-myTotalRecordsFound">
		<input type="text" class="d-none" id="input-myTotalPages">
		<input type="text" class="d-none" id="input-myPageSize">
		<input type="text" class="d-none" id="input-myBuildPageButtonsFirstTime">

		<div class="row">
			<div class="col-2">
				<img src="images/customer-logo.png" alt="Customer Logo">
			</div>
			<div class="col-8 text-center <?php echo $DFT_CLOCK_SIZE ?>">
				<i class="font-awesome-pseudo-class fa-thin fa-clock"></i>&nbsp;&nbsp;<span id="current-time"><?php echo date('d-m-Y h:i:s') ?></span>
			</div>
			<div class="col-2 text-right d-noneX">
			
				<div class="btn btn-primary mb-1" id="button-close-window" onclick="window.close()" title="<?php echo $datahub_go_to_my_dear_home ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-xmark"></i></div>

				<div class="d-none">				
					<div class="btn btn-primary mb-1" onclick="loadPage('menu_admin.php','','','')" title="<?php echo $datahub_go_to_my_dear_home ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-home"></i></div>
					<div class="btn btn-primary mb-1 d-none d-xl-inline-block" onclick="loadPage('menu_main.php','','','')" title="<?php echo $datahub_go_to_my_dear_home_03 ?>"><i class="font-awesome-pseudo-class fa-2x fa-thin fa-fort"></i></div>
					<div class="btn btn-danger mb-1 d-none d-lg-inline-block"  onclick="signoff()" title="<?php echo $datahub_go_to_my_dear_home_02 ?>"><i class="font-awesome-pseudo-class fa-thin  fa-2x fa-right-from-bracket"></i></div>
				</div>
			</div>
		</div>

		<div class="card mt-2">
			<div class="card-header text-muted">
				<div class="row mt-2">
					<div class="col-4 h4">
						<i class="font-awesome-pseudo-class fa-thin fa-store"></i> <?php echo "$datahub_text0126"; ?>
					</div>
					<div class="col text-right font-weight-bold">
						<button type="button" class="d-none btn btn-dark" id="button-toggle-show-deleted" title="Alt+F2=Toggle" onclick="showDeleted()"><?php echo $datahub_button_show_also_deleted ?> : <span id="button-show-deleted" class="font-weight-bold"><?php echo $datahub_YES ?></span></button>

							<div class="row">
								<div class="col-10 text-right">
								</div>
								<div class="col text-right">
									<?php echo $datahub_text0059 ?> <span id="text-current-page">...</span> <?php echo $datahub_text0060 ?> <span id="text-total-pages">...</span>
								</div>
							</div>

							<div class="row">
								<div class="col-10 text-right">
								</div>
								<div class="col text-right">
									<?php echo $datahub_text0061 ?> : <span id="text-total-records-found">...</span>
								</div>
							</div>



					</div>
				</div>
			</div>

			<div class="card-body">

						<!-- Message if screen is not wide enough -->
				<div class="container-fluid mt-2 mb-4 d-block d-lg-none">
					<div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $datahub_error0040a ?></div>
				</div>
			<!-- Message if screen is not wide enough -->

				<!-- Lines found -->
				<div class="row mb-4">
					<div class="col-10">
						<div id="data-result-button-lines"></div>
					</div>
					<div class="col-2 text-right">


					</div>
				</div>

				<div class="row mb-4">
					
					<div class="col-1">
						<?php echo $datahub_text0121 ?>
					</div>
					<div class="col-3">
						<div class="form-row">
							<div class="col-5">
								<input id="input-fromdate" type="date" class="form-control rounded">
							</div>
							<div class="col-1 text-center">
							  /
							</div>
							<div class="col-3">
								<input id="input-fromtime" type="time" class="form-control rounded">
							</div>
						</div>
					</div>
					
					<div class="col-1">
						<?php echo $datahub_text0122 ?>
					</div>
					<div class="col-3">
						<div class="form-row">
							<div class="col-5">
								<input id="input-todate" type="date" class="form-control rounded">
							</div>
							<div class="col-1 text-center">
							  /
							</div>
							<div class="col-3">
								<input id="input-totime" type="time" class="form-control rounded">
							</div>
						</div>
					</div>
					
					<div class="col-1">
						<?php echo $datahub_text0123 ?>
					</div>
					<div class="col-2">
							<button type="button" class="btn btn-primary" onclick="setSortButton('ASC')" id="button-sort-asc"><?php echo $datahub_text0124 ?></button>
							<button type="button" class="btn btn-primary" onclick="setSortButton('DESC')" id="button-sort-desc"><?php echo $datahub_text0125 ?></button>
							<input class="d-none form-control" type="text" onkeyup="resetModalMessage()" id="input-timesort" name="input-timesort">
					</div>
					
				</div>
				
				<div class="row mb-4">
					<div class="col-2">
						<input class="form-control" type="text" id="input-search-arg"  placeholder="Search <?php echo $datahub_text0127 ?>">
					</div>
					
					<div class="col-2">

					</div>
					
					<div class="col-2 text-right">
						<button type="button" class="btn btn-primary  mb-1" id="general-search-button" onclick="searchPage('','0')"><?php echo $datahub_button_get_data_icon2 ?></button>
						<button type="button" class="btn btn-primary  mb-1" id="general-reset-button" onclick="getDataPrompter('*RESET','0','')"><?php echo $datahub_button_order_reset01_icon ?></button>
					</div>

					<div class="col-6 text-right">
						<button type="button" class="badge badge-dark p-2" id="page-prev-button" style="cursor:default" onclick="scrollPagePrev('*PREV')"><?php echo $datahub_text0078 ?></button>
						<button type="button" class="badge badge-dark p-2" id="page-next-button" style="cursor:default" onclick="scrollPageNext('*NEXT')"><?php echo $datahub_text0079 ?></button>
						<span id="data-result-pagination-button"></span>
					</div>
				</div>



				<div class="row">
					<div class="col">
						<div id="data-result"></div>
					</div>
				</div>

				<div class="row">
					<div class="col text-right">
						<small><div id="load-time-from-database"></div></small>
					</div>
				</div>

			</div>

		</div>


</div>


<!-- Set footer -->
<?php
	include "include/footer.php";
?>
<!-- Set footer -->

<!-- ========================================================================== -->
<!--                                M O D A L S                                 -->
<!-- ========================================================================== -->

<!-- Modal -->
<div class="modal fade" id="trn_MaintainModal" tabindex="-1" data-backdrop="static" role="dialog" aria-labelledby="trn_MaintainModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-xxl">
    <div class="modal-content">

      <div class="modal-header bg-primary text-white">

		<div class="container-fluid pl-0 pr-0">
		<div class="row">

			<div class="col-8">
				<h5 class="modal-title" id="trn_MaintainModalLabel"><i class="font-awesome-pseudo-class fa-thin fa-store"></i> <?php echo $datahub_text0126 ?></h5>
			</div>

			<div class="col text-right">
				
			</div>
			<div class="col-1 text-right" style="max-width:20px">
				<button type="button" class="close" data-dismiss="modal" aria-label="Close">
				  <span aria-hidden="true">&times;</span>
				</button>
			</div>

		</div>
		</div>


      </div>
      <div class="modal-body ml-2 mr-2">

  		<input type="text" class="d-none" id="input-current-color-picker">
		<input type="text" class="d-none" id="input-current-text-color">
		<input type="text" class="d-none" id="input-current-background-color">

			<!-- Message if screen is not wide enough -->
				<div class="container-fluid mt-2 mb-4 d-block d-lg-none">
					<div id="general-message-top" class="border border-danger rounded p-2 text-danger font-weight-boldx"><?php echo $datahub_error0040a ?></div>
				</div>
			<!-- Message if screen is not wide enough -->


			<form name="dataForm" id="dataForm">

			<!-- Hidden fields start -->
			<input type="text" class="d-none" id="modal-input-counter" name="modal-input-counter">
			<!-- Hidden fields end -->

			<div class="row mt-2">
				<div class="col-7">
					<div id="data-result-button-lines-modal"></div>
				</div>
			</div>
			<div class="row mt-2">
				<div class="col-2">
					<?php echo $datahub_text0117 ?>
				</div>
				<div class="col-4">
					<input class="form-control read-only-class" type="text" id="modal-input-HUB_TIMSTP" name="modal-input-HUB_TIMSTP" onkeyup="resetModalMessage(), resetLineModal();">
				</div>
			</div>
			
			<div class="row mt-2">
				<div class="col-2">
					<?php echo $datahub_text0133 ?>
				</div>
				<div class="col-4">
					<input class="form-control read-only-class" type="text" id="modal-input-HUB_PACKNO" name="modal-input-HUB_PACKNO" onkeyup="resetModalMessage(), resetLineModal();">
				</div>
			</div>
			
			
			<div class="row mt-2">
				<div class="col-2">
					<?php echo $datahub_text0133 ?>
				</div>
				<div class="col-4">
					<input class="form-control read-only-class" type="text" id="modal-input-HUB_PRODID" name="modal-input-HUB_PRODID" onkeyup="resetModalMessage(), resetLineModal();">
				</div>
			</div>
			
			<div class="row mt-2">
				<div class="col-2">
					<?php echo $datahub_text0130 ?>
				</div>
				<div class="col-4">
					<input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_STRCAL" name="modal-input-HUB_STRCAL" maxlength="1">
				</div>
				<div class="col-2">
					<?php echo $datahub_text0131 ?>
				</div>
				<div class="col-4">
					<input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_ENDCAL" name="modal-input-HUB_ENDCAL">
				</div>
			</div>
			
			<div class="row mt-2 text-dark">

				<div class="col-2"></div>

				<div class="col-2" style="font-size:14px">
					<?php echo $datahub_sec ?>
				</div>

				<div class="col-2" style="font-size:14px">
					<?php echo $datahub_millisec ?>
				</div>

			</div>

			<div class="row mt-2">

				<div class="col-2">
					<?php echo $datahub_text0132 ?>
				</div>
				<div class="col-2">
					<input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_SECOND" name="modal-input-HUB_SECOND" maxlength="1">
				</div>
				<div class="col-2">
					<input class="form-control read-only-class" type="text" onkeyup="resetModalMessage()" id="modal-input-HUB_MSECND" name="modal-input-HUB_MSECND" maxlength="1">
				</div>
			</div>
			

			<div class="row mt-2">
				<div class="col-2">
					<?php echo $datahub_text0127 ?>
				</div>
				<div class="col-10">
					 <textarea class="form-control read-only-class" id="modal-input-HUB_INPTXT" name="modal-input-HUB_INPTXT" rows="5" onkeyup="resetModalMessage()"></textarea>
				</div>
			</div>
			
			<div class="row mt-2">
				<div class="col-2">
					<?php echo $datahub_text0128 ?>
				</div>
				<div class="col-4">
					<input class="form-control read-only-class" type="text" id="modal-input-HUB_RPYCOD" name="modal-input-HUB_RPYCOD" onkeyup="resetModalMessage(), resetLineModal();">
				</div>
			</div>
			
			<div class="row mt-2">
				<div class="col-2">
					<?php echo $datahub_text0129 ?>
				</div>
				<div class="col-10">
					 <textarea class="form-control read-only-class" id="modal-input-HUB_RPYTXT" name="modal-input-HUB_RPYTXT" rows="5" onkeyup="resetModalMessage()"></textarea>
				</div>
			</div>

			</form>

      </div>
      <div class="modal-footer-pretty modal-footer">

			<div class="container-fluid">

				<div class="row">
					<div class="col-12 text-left">
						<div class="p-1 font-weight-bold text-danger border-top border-dark " id="modal-message">&nbsp;</div>
					</div>
				</div>

				<div class="row mt-1 mb-2">
					<div class="col-3 text-left">
						<button type="button" id="modal-save-button" class="btn btn-primary btn-block d-none" onclick="dataSave()"><?php echo $datahub_button_save ?></button>
					</div>
					<div class="col-6 text-right">
					</div>
					<div class="col-3 text-right">
						<button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo $datahub_button_cancel_01 ?></button>
					</div>
				</div>

			</div>


      </div>
    </div>
  </div>
</div>




<!-- ************************************************ -->
<!--                 Confirm delete                   -->
<!-- ************************************************ -->
<div class="modal fade" id="config_confirmDeleteModal" tabindex="-1" role="dialog" aria-labelledby="config_confirmDeleteModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-xl" role="document">
    <div class="modal-content">
      <div class="modal-header bg-primary text-white">
        <h5 class="modal-title" id="config_confirmDeleteModalLabel"><?php echo $datahub_text0063 ?></h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">

		<form name="dataForm-delete" id="dataForm-delete">

			<input type="text" class="d-none" id="confirm-delete-HUB_CFGNAM" name="confirm-delete-HUB_CFGNAM">

		</form>

		<div class="h6"><?php echo $datahub_text0062 ?>: <span class="font-weight-bold" id="confirm-delete-text-CFGNAM"></span></div>

      </div>
      <div class="modal-footer">

			<div class="container-fluid">

				<div class="row mt-1 mb-2">
					<div class="col-3 text-left">
						<button type="button" onclick="dataDeleteExec()" class="btn btn-primary">Delete</button>
					</div>
					<div class="col-6 text-right">
					</div>
					<div class="col-3 text-right">
						<button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button>
					</div>
				</div>


			</div>
      </div>
    </div>
  </div>
</div>

<!-- ************************************************ -->
<!--                 Preview PDF and likewise         -->
<!-- ************************************************ -->
<div class="modal fade" id="wa0361_previewModal" tabindex="-1" role="dialog" aria-labelledby="wa0361_previewModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-xxl" role="document">
    <div class="modal-content">
      <div class="modal-header bg-success text-white">
        <h5 class="modal-title" id="wa0361_previewModalLabel">Preview element</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">

		<div class="container-fluid">

				<div style="background-color:#ccc" class="border border-primary border-5" id="modal-preview-iframe"></div>

				<div class="row mt-2 mb-2">
					<div class="col-3 text-left">
					</div>
					<div class="col-6 text-right">
					</div>
					<div class="col-3 text-right">
						<button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button>
					</div>
				</div>

		</div>

			</div>

    </div>
  </div>
</div>

</body>
</html>